package com.ftg.rbac.util;

import com.alibaba.druid.support.spring.stat.SpringStatUtils;
import lombok.Data;
import lombok.ToString;

import java.util.List;

/**
 * 分页相关信息处理类
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/3/16 下午3:53
 */
@ToString
public class PageEx<T> {


    /**
     * 当前页码 ： 第几页
     */
    private Integer pageNo;

    /**
     * 当前页显示几条数据 [10,20,30,50,100]
     */
    private Integer pageNum;

    /**
     * 总页数 : 表示表里面的总记录行数 / 当前页显示几条数据 向上取整的数
     */
    private Integer pages;

    /**
     * 当前页要显示数据  select limit ?,?
     */
    private List<T> row;

    /**
     * 总计多少条数据(表里面)  select count(id) from tables
     */
    private Integer reports;

    public Integer getPageNo() {
        return pageNo;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo = pageNo;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPages() {
        return (int)Math.ceil(new Double(this.getReports()) / this.getPageNum());
    }

    public void setPages(Integer pages) {
        this.pages = pages;
    }

    public List<T> getRow() {
        return row;
    }

    public void setRow(List<T> row) {
        this.row = row;
    }

    public Integer getReports() {
        return reports;
    }

    public void setReports(Integer reports) {
        this.reports = reports;
    }

}
